home *** CD-ROM | disk | FTP | other *** search
/ Super PC 34 / Super PC 34 (Shareware).iso / spc / UTIL / DJGPP2 / V2 / DJTST200.ZIP / tests / debug / common / v2load.c < prev   
Encoding:
C/C++ Source or Header  |  1995-08-27  |  1.4 KB  |  54 lines

  1. #include <libc/stubs.h>
  2. #include <stdio.h>
  3. #include <stdlib.h>
  4. #include <string.h>
  5. #include <unistd.h>
  6. #include <fcntl.h>
  7. #include <dpmi.h>
  8. #include <go32.h>
  9. #include <signal.h>
  10. #include <setjmp.h>
  11. #include <stubinfo.h>
  12. #include <debug/v2load.h>
  13. #include <libc/farptrgs.h>
  14. #include <sys/stat.h>
  15.  
  16. void main(int argc, char **argv)
  17. {
  18.   int i;
  19.   char cmdline[128];
  20.   jmp_buf load_state;
  21.  
  22.   if(argc < 2) {
  23.     printf("Usage: v2load imagename [args]\n");
  24.     exit(1);
  25.   }
  26.  
  27.   putenv("FOO=from-v2load");
  28.   
  29.   cmdline[1] = 0;
  30.   for(i=2; argv[i]; i++) {
  31.       strcat(cmdline+1, " ");
  32.       strcat(cmdline+1, argv[i]);
  33.   }
  34.   i = strlen(cmdline+1);
  35.   cmdline[0] = i;
  36.   cmdline[i+1] = 13;
  37.   if(v2loadimage(argv[1],cmdline,load_state)) {
  38.     printf("Load failed for %s\n",argv[1]);
  39.     exit(2);
  40.   }
  41.   printf("Program text ................: %08x - %08x\n",
  42.          areas[A_text].first_addr, areas[A_text].last_addr);
  43.   printf("Program data ................: %08x - %08x\n",
  44.          areas[A_data].first_addr, areas[A_data].last_addr);
  45.   printf("Program bss .................: %08x - %08x\n",
  46.          areas[A_bss].first_addr, areas[A_bss].last_addr);
  47.   printf("Program stack ...............: %08x - %08x\n",
  48.          areas[A_stack].first_addr, areas[A_stack].last_addr);
  49.   printf("Program arena ...............: %08x - %08x\n",
  50.          areas[A_arena].first_addr, areas[A_arena].last_addr);
  51.   printf("Jumping to image...\n");
  52.   longjmp(load_state, 0);
  53. }
  54.